home *** CD-ROM | disk | FTP | other *** search
- <?php
- /*************************************************************
-
- CodeX Project System Library
-
- General Library
-
- *************************************************************/
- //----------------------------------- Profile Functions ----------------------------------------------
- function LoadSettings($PluginName) //loads specific plugin setting, returns setting array.
- {
- global $pluginDIR;
- $PluginName=SecurityFormat($PluginName);
- if(!file_exists("$pluginDIR/$PluginName.Settings.php")) return false;
- //$SettingsFile="$basedir/$PluginName.Settings.php";
-
- $File=file("$pluginDIR/$PluginName.Settings.php");
- $Settings=unserialize(trim($File[1]));
- if(!is_array($Settings)) return false;
- return $Settings;
- }
-
- function SaveSettings($PluginName,$NewSettings)
- {
- global $pluginDIR;
- $PluginName=SecurityFormat($PluginName);
- if(!is_array($NewSettings)) return false;
- $File=@file($pluginDIR."/".$PluginName.".Settings.php");
- $Settings=unserialize(trim($File[1]));
- if(!is_array($Settings)) //create new
- {
- $Settings=$NewSettings;
- }
- else
- {
- reset($NewSettings);
- while(list($FieldName,$FieldValue)=each($NewSettings))
- {
- if(is_array($NewSettings[$FieldName]))
- {
- if(!is_array($Settings[$FieldName])) $Settings[$FieldName]=array();
- $Settings[$FieldName]=array_merge($Settings[$FieldName],$NewSettings[$FieldName]);
- }
- else
- {
- if($FieldValue==null)
- {
- unset($Settings[$FieldName]);
- }
- else
- {
- $Settings[$FieldName]=$FieldValue;
- }
- }
- }
- }
-
- $fp=fopen($pluginDIR."/".$PluginName.".Settings.php","w+");
- fputs($fp,"<?phpexit(\"Access Denied.\");?>\n");
- fputs($fp,str_replace("\n","",serialize($Settings))."\n");
- fclose($fp);
-
- return $Settings;
- }
-
- function LoadUserPreference($TargetID="")
- {
- global $AccountInfo, $basedir;
- if(!$TargetID)
- {
- if(!$AccountInfo["DataAddress"]) return false;
- $TargetID=$AccountInfo["DataAddress"];
- }
-
- /*
- if(file_exists($basedir."/data/UserPreferences/".$AccountInfo["UserName"].".pref.php"))
- {
- rename($basedir."/data/UserPreferences/".$AccountInfo["UserName"].".pref.php",$basedir."/data/UserPreferences/".$AccountInfo["DataAddress"].".pref.php");
- }*/
-
- if(file_exists($basedir."/data/UserPreferences/".$TargetID.".pref.php"))
- {
- $Config=file($basedir."/data/UserPreferences/".$TargetID.".pref.php");
- return unserialize(trim($Config[1]));
- }
- return false;
- }
-
- function SaveUserPreference($Settings)
- {
- global $basedir, $AccountInfo;
- if(!$AccountInfo["DataAddress"]) return false;
- if(!is_array($Settings)) return false;
-
- if(!is_dir($basedir."/data/UserPreferences/"))
- {
- mkdir($basedir."/data/UserPreferences/");
- chmod($basedir."/data/UserPreferences/", 0777);
- }
-
- $fp=fopen($basedir."/data/UserPreferences/".$AccountInfo["DataAddress"].".pref.php","w+");
- fputs($fp,"<?phpexit(\"Access Denied.\");?>\n");
- fputs($fp,str_replace("\n","",serialize($Settings))."\n");
- fclose($fp);
-
- return true;
- }
-
- function SecurityFormat($str,$level=3)
- {
- $str=trim($str);
- switch($level)
- {
- case 1: //for data items with length limitation.
- $str=trim(str_replace("\n","",$str));
- if(strlen($str)>16) $str=substr($str,0,16);
- break;
- case 2: //for digit validation
- if(!(trim($str)>=0))
- {
- $str=0;
- }
- break;
- case 5: //for dataitem operation filter
- $str=str_replace("\\","",$str);
- $str=str_replace("\n","",$str);
- break;
- case 3: //for file operation filter
- $str=str_replace("\\","",$str);
- $str=str_replace("/","",$str);
- $str=str_replace("\n","",$str);
- break;
- case 4: //for file data filter
- $str=str_replace("\\","@",$str);
- $str=str_replace("\n","",$str);
- break;
- }
- return $str;
- }
-
- function Template($TemplateFile, $Translator)
- {
- return strtr(file_get_contents($TemplateFile),$Translator);
- }
-
- function CSSGenerator($CSSPack)
- {
- if(!is_array($CSSPack)) return false;
- global $ThemePack;
- foreach($CSSPack as $FileName)
- {
- $CSSCode.="<link rel='stylesheet' type='text/css' href='/themes/".$GLOBALS["ThemePack"].$FileName."' />\n";
- }
- return $CSSCode;
- }
-
- function UpdateBuddyStatus($Action="Automatic")
- {
- global $AccountInfo, $basedir;
- $Users=NULL;
-
- $nowlist = @file($basedir."/data/onlineusers.ini");
- $found=0;
-
- if(count($nowlist))
- {
- for($i=0;$i<count($nowlist);$i++)
- {
- $OnlineUser=unserialize(trim($nowlist[$i]));
-
- if($OnlineUser["AccountID"]==$AccountInfo["DataAddress"])
- {
- $OnlineUser[$Action]=time();
- $nowlist[$i]=serialize($OnlineUser);
- $found++;
- }
- else
- {
- if((time()-$OnlineUser["Automatic"])>=300)
- {
- $nowlist[$i]="";
- }
- }
- }
- }
- if(!$found)
- {
- $OnlineUser["AccountID"]=$AccountInfo["DataAddress"];
- $OnlineUser["Automatic"]=time();
- $nowlist[]=serialize($OnlineUser);
- }
-
- $fp2=fopen($basedir."/data/onlineusers.ini","w+");
- foreach($nowlist as $content)
- {
- if($content=trim($content))
- {
- fputs($fp2,$content."\n");
- }
- }
- fclose($fp2);
- return true;
- }
-
- function GetBuddyStatus()
- {
- global $AccountInfo, $basedir;
- $Status=array();
- $nowlist = @file($basedir."/data/onlineusers.ini");
- if(count($nowlist))
- {
- foreach($nowlist as $content)
- {
- $Item=unserialize($content);
- if(!is_array($Item)) continue;
-
- if((time()-$Item["Manual"])>120)
- $tStatus="Busy";
- else
- $tStatus="Online";
- $Status[$Item["AccountID"]]=$tStatus;
- }
- }
- return $Status;
- }
-
- /*
- Text Files list
- */
- $mime_text[]="html";
- $mime_text[]="htm";
- $mime_text[]="asp";
- $mime_text[]="php";
- $mime_text[]="php3";
- $mime_text[]="py";
- $mime_text[]="cgi";
- $mime_text[]="jsp";
-
- $mime_text[]="c";
- $mime_text[]="cpp";
- $mime_text[]="asm";
-
- $mime_text[]="txt";
- $mime_text[]="ini";
- $mime_text[]="inf";
-
- ?>